dx(X) → one
dx(a) → zero
dx(plus(ALPHA, BETA)) → plus(dx(ALPHA), dx(BETA))
dx(times(ALPHA, BETA)) → plus(times(BETA, dx(ALPHA)), times(ALPHA, dx(BETA)))
dx(minus(ALPHA, BETA)) → minus(dx(ALPHA), dx(BETA))
dx(neg(ALPHA)) → neg(dx(ALPHA))
dx(div(ALPHA, BETA)) → minus(div(dx(ALPHA), BETA), times(ALPHA, div(dx(BETA), exp(BETA, two))))
dx(ln(ALPHA)) → div(dx(ALPHA), ALPHA)
dx(exp(ALPHA, BETA)) → plus(times(BETA, times(exp(ALPHA, minus(BETA, one)), dx(ALPHA))), times(exp(ALPHA, BETA), times(ln(ALPHA), dx(BETA))))
↳ QTRS
↳ DependencyPairsProof
dx(X) → one
dx(a) → zero
dx(plus(ALPHA, BETA)) → plus(dx(ALPHA), dx(BETA))
dx(times(ALPHA, BETA)) → plus(times(BETA, dx(ALPHA)), times(ALPHA, dx(BETA)))
dx(minus(ALPHA, BETA)) → minus(dx(ALPHA), dx(BETA))
dx(neg(ALPHA)) → neg(dx(ALPHA))
dx(div(ALPHA, BETA)) → minus(div(dx(ALPHA), BETA), times(ALPHA, div(dx(BETA), exp(BETA, two))))
dx(ln(ALPHA)) → div(dx(ALPHA), ALPHA)
dx(exp(ALPHA, BETA)) → plus(times(BETA, times(exp(ALPHA, minus(BETA, one)), dx(ALPHA))), times(exp(ALPHA, BETA), times(ln(ALPHA), dx(BETA))))
DX(times(ALPHA, BETA)) → DX(ALPHA)
DX(plus(ALPHA, BETA)) → DX(BETA)
DX(div(ALPHA, BETA)) → DX(ALPHA)
DX(neg(ALPHA)) → DX(ALPHA)
DX(times(ALPHA, BETA)) → DX(BETA)
DX(plus(ALPHA, BETA)) → DX(ALPHA)
DX(minus(ALPHA, BETA)) → DX(BETA)
DX(exp(ALPHA, BETA)) → DX(ALPHA)
DX(minus(ALPHA, BETA)) → DX(ALPHA)
DX(exp(ALPHA, BETA)) → DX(BETA)
DX(ln(ALPHA)) → DX(ALPHA)
DX(div(ALPHA, BETA)) → DX(BETA)
dx(X) → one
dx(a) → zero
dx(plus(ALPHA, BETA)) → plus(dx(ALPHA), dx(BETA))
dx(times(ALPHA, BETA)) → plus(times(BETA, dx(ALPHA)), times(ALPHA, dx(BETA)))
dx(minus(ALPHA, BETA)) → minus(dx(ALPHA), dx(BETA))
dx(neg(ALPHA)) → neg(dx(ALPHA))
dx(div(ALPHA, BETA)) → minus(div(dx(ALPHA), BETA), times(ALPHA, div(dx(BETA), exp(BETA, two))))
dx(ln(ALPHA)) → div(dx(ALPHA), ALPHA)
dx(exp(ALPHA, BETA)) → plus(times(BETA, times(exp(ALPHA, minus(BETA, one)), dx(ALPHA))), times(exp(ALPHA, BETA), times(ln(ALPHA), dx(BETA))))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ UsableRulesProof
DX(times(ALPHA, BETA)) → DX(ALPHA)
DX(plus(ALPHA, BETA)) → DX(BETA)
DX(div(ALPHA, BETA)) → DX(ALPHA)
DX(neg(ALPHA)) → DX(ALPHA)
DX(times(ALPHA, BETA)) → DX(BETA)
DX(plus(ALPHA, BETA)) → DX(ALPHA)
DX(minus(ALPHA, BETA)) → DX(BETA)
DX(exp(ALPHA, BETA)) → DX(ALPHA)
DX(minus(ALPHA, BETA)) → DX(ALPHA)
DX(exp(ALPHA, BETA)) → DX(BETA)
DX(ln(ALPHA)) → DX(ALPHA)
DX(div(ALPHA, BETA)) → DX(BETA)
dx(X) → one
dx(a) → zero
dx(plus(ALPHA, BETA)) → plus(dx(ALPHA), dx(BETA))
dx(times(ALPHA, BETA)) → plus(times(BETA, dx(ALPHA)), times(ALPHA, dx(BETA)))
dx(minus(ALPHA, BETA)) → minus(dx(ALPHA), dx(BETA))
dx(neg(ALPHA)) → neg(dx(ALPHA))
dx(div(ALPHA, BETA)) → minus(div(dx(ALPHA), BETA), times(ALPHA, div(dx(BETA), exp(BETA, two))))
dx(ln(ALPHA)) → div(dx(ALPHA), ALPHA)
dx(exp(ALPHA, BETA)) → plus(times(BETA, times(exp(ALPHA, minus(BETA, one)), dx(ALPHA))), times(exp(ALPHA, BETA), times(ln(ALPHA), dx(BETA))))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDPSizeChangeProof
DX(times(ALPHA, BETA)) → DX(ALPHA)
DX(plus(ALPHA, BETA)) → DX(BETA)
DX(plus(ALPHA, BETA)) → DX(ALPHA)
DX(times(ALPHA, BETA)) → DX(BETA)
DX(neg(ALPHA)) → DX(ALPHA)
DX(div(ALPHA, BETA)) → DX(ALPHA)
DX(minus(ALPHA, BETA)) → DX(BETA)
DX(minus(ALPHA, BETA)) → DX(ALPHA)
DX(exp(ALPHA, BETA)) → DX(ALPHA)
DX(exp(ALPHA, BETA)) → DX(BETA)
DX(div(ALPHA, BETA)) → DX(BETA)
DX(ln(ALPHA)) → DX(ALPHA)
From the DPs we obtained the following set of size-change graphs: